home *** CD-ROM | disk | FTP | other *** search
Verilog source code | 1992-06-18 | 507 b | 24 lines | [TEXT/MPS ] |
- module alu(op, d, s1, s2);
-
- input [ 4: 0]op;
- input [31: 0]s1,
- s2;
- output [31: 0]d;
-
- assign d = (op == 0 || op == 9 ? s1+s2:
- op == 1? s1-s2:
- op == 2? s1&s2:
- op == 3? s1|s2:
- op == 4? s1^s2:
- op == 5? s1<s2:
- op == 6? s1<=s2:
- op == 7? s1==s2:
- op == 8? (s2[31]?s1<<s2:s1>>(-s2)):
- op == 16? s1:
- op == 17? s2:
- op == 18? {s2[15:0],s1[15:0]}:
- 0);
-
-
- endmodule
-